//区域和检索 - 数组不可变

package Leetcode;


class NumArray {
    // List<Integer> list = new ArrayList<>();
    int[] dp;

    public NumArray(int[] nums) {
        // for (int i = 0; i < nums.length; i++) {
        // list.add(nums[i]);
        // }
        dp = new int[nums.length];
        dp[0] = nums[0];
        for (int i = 1; i < nums.length; i++)
            dp[i] = dp[i - 1] + nums[i];
    }

    public int sumRange(int left, int right) {
        // int sum = 0;
        // for (int i = left; i <= right; i++) {
        // sum += list.get(i);
        // }
        // return sum;
        return left == 0 ? dp[right] : dp[right] - dp[left - 1];
    }
}
